/*******************************************************************************
* Project: QSAR(Cute Software Architecture) 
*
* Copyright: Copyright(C) 2024 by YuetingBen, All Rights Reserved
*
* File name: E2E.c
*
* Brief: ;
*
* Author: Yueting.Ben
*
* Module: E2E
*
*******************************************************************************/

/** HEADER FILES **/
#include "E2E.h"


/** MACRO DEFINITION **/


/** TYPEDEF DEFINITION **/


/** LOCAL DATA DECLARATION **/


/** GLOBAL DATA DECLARATION **/


/** LOCAL FUNCTION DECLARATION **/


/** GLOBAL FUNCTION DECLARATION **/

Std_ReturnType E2E_SMCheck( 
    E2E_PCheckStatusType ProfileStatus, 
    const E2E_SMConfigType* ConfigPtr, 
    E2E_SMCheckStateType* StatePtr 
);

Std_ReturnType E2E_SMCheckInit( 
    E2E_SMCheckStateType* StatePtr, 
    const E2E_SMConfigType* ConfigPtr 
);

void E2E_GetVersionInfo(
    Std_VersionInfoType* versionInfo
);


/** LOCAL DATA **/


/** GLOBAL DATA **/


/** LOCAL FUNCTION **/


/** GLOBAL FUNCTION **/

/*******************************************************************************
* -Name         E2E_SMCheck
* -Brief        Checks the communication channel. It determines if the data can be used for 
*               safety-related application, based on history of checks performed by a corresponding 
*               E2E_P0XCheck() function
* -Details      None
* -Param[in]    ProfileStatus: Profile-independent status of the reception on one single Data in  one cycle
* -Param[in]    ConfigPtr: Pointer to static configuration.
* -Param[inout] StatePtr: Pointer to port/data communication state
* -Param[out]   versioninfo: Pointer to the version information of this module
* -Return       E2E_E_INPUTERR_NULL 
*               E2E_E_INPUTERR_WRONG 
*               E2E_E_INTERR 
*               E2E_E_OK 
*               E2E_E_WRONGSTATE           
*******************************************************************************/
Std_ReturnType E2E_SMCheck( 
    E2E_PCheckStatusType ProfileStatus, 
    const E2E_SMConfigType* ConfigPtr, 
    E2E_SMCheckStateType* StatePtr 
)
{
    
}

/*******************************************************************************
* -Name         E2E_SMCheckInit
* -Brief        Initializes the state machine
* -Details      None
* -Param[in]    ConfigPtr: Pointer to configuration of the state machine 
* -Param[out]   StatePtr: Pointer to port/data communication state
* -Return       E2E_E_INPUTERR_NULL - null pointer passed 
*               E2E_E_OK         
*******************************************************************************/
Std_ReturnType E2E_SMCheckInit( 
    E2E_SMCheckStateType* StatePtr, 
    const E2E_SMConfigType* ConfigPtr 
)
{
    
}

/*******************************************************************************
* -Name         E2E_GetVersionInfo
* -Brief        Returns the version information of this module 
* -Details      None
* -Param[out]   versioninfo: Pointer to the version information of this module
* -Return       None          
*******************************************************************************/
void E2E_GetVersionInfo(
    Std_VersionInfoType* versionInfo
)
{
    versionInfo->vendorID = (uint16)YSAR_VENDOR_ID;
    versionInfo->moduleID = (uint8)E2E_MODULE_ID;
    versionInfo->sw_major_version = (uint8)E2E_SW_MAJOR_VERSION;
    versionInfo->sw_minor_version = (uint8)E2E_SW_MINOR_VERSION;
    versionInfo->sw_patch_version = (uint8)E2E_SW_PATCH_VERSION;
}


